package com.ruoyi.system.domain.vo;

import cn.afterturn.easypoi.excel.annotation.Excel;
import com.fasterxml.jackson.annotation.JsonFormat;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * 认养记录导出列表
 */
public class ExportExcelHistoryModelListVO {

    /**
     * 主键标识
     */
    private Long treeId;

    /**
     * 编号
     */
    @Excel(name = "编号", width = 15)
    private String treeCode;

    /**
     * 小地名
     */
    @Excel(name = "小地名", width = 10)
    private String smallPlaceName;

    /**
     * 树龄
     */
    @Excel(name = "树龄", width = 10)
    private Long treeAge;

    /**
     * 经度
     */
    @Excel(name = "经度", width = 10)
    private BigDecimal longitude;

    /**
     * 纬度
     */
    @Excel(name = "纬度", width = 10)
    private BigDecimal latitude;

    /**
     * 海拔
     */
    @Excel(name = "海拔", width = 10)
    private BigDecimal altitude;

    /**
     * 预计重量
     */
    @Excel(name = "预计重量", width = 10)
    private BigDecimal estimatedWeight;

    /**
     * 认养人
     */
    @Excel(name = "认养人", width = 15)
    private String adoptivePerson;

    /**
     * 联系方式
     */
    @Excel(name = "联系方式", width = 15)
    private String personPhone;

    /**
     * 农户
     */
    @Excel(name = "农户", width = 10)
    private String peasantHousehold;

    /**
     * 春天图片
     */
//    @Excel(name = "春天图片1", type = 2, width = 15, height = 30.0, imageType = 1)
//    private String springImage1;
//    @Excel(name = "春天图片2", type = 2, width = 15, height = 30.0, imageType = 1)
//    private String springImage2;
//    @Excel(name = "春天图片3", type = 2, width = 15, height = 30.0, imageType = 1)
//    private String springImage3;

    private List<String> springImagesList = new ArrayList<>();

    /**
     * 夏天图片
     */
//    @Excel(name = "夏天图片1", type = 2, width = 15, height = 30.0, imageType = 1)
//    private String summerImage1;
//
//    /**
//     * 夏天图片
//     */
//    @Excel(name = "夏天图片2", type = 2, width = 15, height = 30.0, imageType = 1)
//    private String summerImage2;
//
//    /**
//     * 夏天图片
//     */
//    @Excel(name = "夏天图片3", type = 2, width = 15, height = 30.0, imageType = 1)
//    private String summerImage3;

    private List<String> summerImagesList = new ArrayList<>();

    /**
     * 秋季图片
     */
//    @Excel(name = "秋季图片3", type = 2, width = 15, height = 30.0, imageType = 1)
//    private String autumnImage1;
//
//    /**
//     * 秋季图片
//     */
//    @Excel(name = "秋季图片3", type = 2, width = 15, height = 30.0, imageType = 1)
//    private String autumnImage2;
//
//    /**
//     * 秋季图片
//     */
//    @Excel(name = "秋季图片3", type = 2, width = 15, height = 30.0, imageType = 1)
//    private String autumnImage3;

    private List<String> autumnImagesList = new ArrayList<>();

    /**
     * 冬季图片
     */
//    @Excel(name = "冬季图片1", type = 2, width = 15, height = 30.0, imageType = 1)
//    private String winterImage1;
//    /**
//     * 冬季图片
//     */
//    @Excel(name = "冬季图片2", type = 2, width = 15, height = 30.0, imageType = 1)
//    private String winterImage2;
//
//    /**
//     * 冬季图片
//     */
//    @Excel(name = "冬季图片3", type = 2, width = 15, height = 30.0, imageType = 1)
//    private String winterImage3;

    private List<String> winterImagesList = new ArrayList<>();

    /**
     * 开花期
     */
    @Excel(name = "开花期", width = 15, format = "yyyy-MM-dd")
    private Date flowerDate;

    /**
     * 收货期
     */
    @Excel(name = "收获期", width = 15, format = "yyyy-MM-dd")
    private Date deliveryDate;

    /**
     * 实际产量
     */
    @Excel(name = "实际产量", width = 15)
    private BigDecimal output;

    /**
     * 认养状态
     */
    //@Excel(name = "认养状态")
    @Excel(name = "认养状态", width = 15)
    private String status;

    /**
     * 冷藏日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "冷藏日期", width = 15, format = "yyyy-MM-dd")
    private Date refrigerationDate;

    /**
     * 其他记录
     */
    @Excel(name = "其他记录", width = 15)
    private String otherRecords;

    /**
     * 备注
     */
    @Excel(name = "备注", width = 15)
    private String remarks;

    /**
     * 领养申请时间
     */
    @Excel(name = "领养申请时间", width = 15,format = "yyyy-MM-dd")
    private Date applyDate;

    /**
     * 领养开始时间（管理员审核通过的时间）
     */
    @Excel(name = "领养开始时间", width = 15,format = "yyyy-MM-dd")
    private Date startDate;

    /**
     * 领养开始时间（管理员审核通过的时间）
     */
    @Excel(name = "领养结束时间", width = 15,format = "yyyy-MM-dd")
    private Date endDate;

    /**
     * 审核意见
     */
    @Excel(name = "结束领养原因", width = 30)
    private String approveReson;

    public Long getTreeId() {
        return treeId;
    }

    public void setTreeId(Long treeId) {
        this.treeId = treeId;
    }

    public String getTreeCode() {
        return treeCode;
    }

    public void setTreeCode(String treeCode) {
        this.treeCode = treeCode;
    }

    public String getSmallPlaceName() {
        return smallPlaceName;
    }

    public void setSmallPlaceName(String smallPlaceName) {
        this.smallPlaceName = smallPlaceName;
    }

    public Long getTreeAge() {
        return treeAge;
    }

    public void setTreeAge(Long treeAge) {
        this.treeAge = treeAge;
    }

    public BigDecimal getLongitude() {
        return longitude;
    }

    public void setLongitude(BigDecimal longitude) {
        this.longitude = longitude;
    }

    public BigDecimal getLatitude() {
        return latitude;
    }

    public void setLatitude(BigDecimal latitude) {
        this.latitude = latitude;
    }

    public BigDecimal getAltitude() {
        return altitude;
    }

    public void setAltitude(BigDecimal altitude) {
        this.altitude = altitude;
    }

    public BigDecimal getEstimatedWeight() {
        return estimatedWeight;
    }

    public void setEstimatedWeight(BigDecimal estimatedWeight) {
        this.estimatedWeight = estimatedWeight;
    }

    public String getAdoptivePerson() {
        return adoptivePerson;
    }

    public void setAdoptivePerson(String adoptivePerson) {
        this.adoptivePerson = adoptivePerson;
    }

    public String getPersonPhone() {
        return personPhone;
    }

    public void setPersonPhone(String personPhone) {
        this.personPhone = personPhone;
    }

    public String getPeasantHousehold() {
        return peasantHousehold;
    }

    public void setPeasantHousehold(String peasantHousehold) {
        this.peasantHousehold = peasantHousehold;
    }

    public List<String> getSpringImagesList() {
        return springImagesList;
    }

    public void setSpringImagesList(List<String> springImagesList) {
        this.springImagesList = springImagesList;
    }

    public List<String> getSummerImagesList() {
        return summerImagesList;
    }

    public void setSummerImagesList(List<String> summerImagesList) {
        this.summerImagesList = summerImagesList;
    }

    public List<String> getAutumnImagesList() {
        return autumnImagesList;
    }

    public void setAutumnImagesList(List<String> autumnImagesList) {
        this.autumnImagesList = autumnImagesList;
    }

    public List<String> getWinterImagesList() {
        return winterImagesList;
    }

    public void setWinterImagesList(List<String> winterImagesList) {
        this.winterImagesList = winterImagesList;
    }

    public Date getFlowerDate() {
        return flowerDate;
    }

    public void setFlowerDate(Date flowerDate) {
        this.flowerDate = flowerDate;
    }

    public Date getDeliveryDate() {
        return deliveryDate;
    }

    public void setDeliveryDate(Date deliveryDate) {
        this.deliveryDate = deliveryDate;
    }

    public BigDecimal getOutput() {
        return output;
    }

    public void setOutput(BigDecimal output) {
        this.output = output;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public Date getRefrigerationDate() {
        return refrigerationDate;
    }

    public void setRefrigerationDate(Date refrigerationDate) {
        this.refrigerationDate = refrigerationDate;
    }

    public String getOtherRecords() {
        return otherRecords;
    }

    public void setOtherRecords(String otherRecords) {
        this.otherRecords = otherRecords;
    }

    public String getRemarks() {
        return remarks;
    }

    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }

    public Date getApplyDate() {
        return applyDate;
    }

    public void setApplyDate(Date applyDate) {
        this.applyDate = applyDate;
    }

    public Date getStartDate() {
        return startDate;
    }

    public void setStartDate(Date startDate) {
        this.startDate = startDate;
    }

    public Date getEndDate() {
        return endDate;
    }

    public void setEndDate(Date endDate) {
        this.endDate = endDate;
    }

    public String getApproveReson() {
        return approveReson;
    }

    public void setApproveReson(String approveReson) {
        this.approveReson = approveReson;
    }
//
//    @Override
//    public String toString() {
//        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
//                .append("treeId", getTreeId())
//                .append("treeCode", getTreeCode())
//                .append("smallPlaceName", getSmallPlaceName())
//                .append("treeAge", getTreeAge())
//                .append("longitude", getLongitude())
//                .append("latitude", getLatitude())
//                .append("altitude", getAltitude())
//                .append("estimatedWeight", getEstimatedWeight())
//                .append("adoptivePerson", getAdoptivePerson())
//                .append("personPhone", getPersonPhone())
//                .append("peasantHousehold", getPeasantHousehold())
//                .append("springImages", getSpringImages())
//                .append("summerImages", getSummerImages())
//                .append("autumnImages", getAutumnImages())
//                .append("winterImages", getWinterImages())
//                .append("flowerDate", getFlowerDate())
//                .append("deliveryDate", getDeliveryDate())
//                .append("output", getOutput())
//                .append("refrigerationDate", getRefrigerationDate())
//                .append("otherRecords", getOtherRecords())
//                //.append("createTime", getCreateTime())
//                //.append("createBy", getCreateBy())
//                //.append("updateTime", getUpdateTime())
//                //.append("updateBy", getUpdateBy())
//                .append("remarks", getRemarks())
//                .toString();
//    }

}
